<?php

include_once("PersonaAfectada.php");
include_once("ZonaEmergencia.php");
//include_once("CentroApoyo.php");
//include_once("Lista.php");

class FachadaIfce {

    // Para implementar el patron singleton.
    private static $instancia;


    // Metodo que permite obtener la unica instancia de la clase.
    public static function getInstancia() {

        //si no existe instancia de la clase se crea
        // si existe se retorna la instancia existente.
        if( self::$instancia == null ) {
            self::$instancia = new self();
        }

        return self::$instancia;
    }

    // Privado se previene la creacion via new.
    private function __construct() {

    }

    // Para evitar la clonacion de este objeto.
    private function __clone() {
        throw new Exception('No se puede clonar');
    }


    function mostrarPersonaAfectada($listaPersonas) {

        // Se escriben los nombres de las columnas
        print "\n<table border='1' cellpadding='3' cellspacing='2' align='center' with= '60%'>\n<tr>\n" .
                "\n\t<th>Nombre</th>" .
                "\n\t<th>Cedula</th>" .
                "\n</tr>";

        // Se imprime cada elemento de la lista de infractores.
        for($i = 0; $i < $listaPersonas->cantidad(); $i++) {

            $persona = $listaPersonas->encontrar($i);

            // Comienza la fila.
            print "\n<tr>";

            // Imprime las columnas.
            echo" <td align='center'>".$persona->nombre.'</a></td>
                  <td align="center">'.$persona->cedula.'</td>';

            // Se termina la fila
            print "\n</tr>";
        }

        print "<input type='hidden' value={$i} name='hidden1'/>";

        // Se termina la tabla
        print "\n</table>\n";
    }

    //Funciones referentes a las zonas en emergencia.
    function crearZonaEmergencia($id,$tipo,$fecha,$coordenadas){

     //   $id="Zona1";
        $zona = new ZonaEmergencia($id,$tipo, $fecha,$coordenadas);

        if(!$zona->Insertar()) {
		return false;
	}
        else {
		return true;
        }

    }

    function consultarZonaEmergencia() {

    }

    function eliminarZonaEmergencia($id) {

        $zona = new ZonaEmergencia(NULL, NULL, $id, NULL);
        $zona->Eliminar();
    }

   //Funciones referentes
    function crearPersonaAfectada($id, $descripcion, $nombre, $ubicado, $ci,
            $familiares, $telefonoFamiliares, $foto,
            $fechaDesaparicion) {

        // Crea un objeto persona afectada.
        $persona = new PersonaAfectada($id, $descripcion, $nombre, $ubicado,
                $ci, $familiares, $telefonoFamiliares,
                $foto, $fechaDesaparicion);

        // Inserta la persona afectada.
         $persona->insertarPersonaAfectada();
    }

    // Obtiene una lista de personas afectadas de la base de datos.
    function consultarPersonaAfectada() {

        $listaPersonas = new lista(); // Crea una lista.
        $listaPersonas->consultarPersonaAfectada(); // Llena la lista

        // Si esta llena.
        if ($listaPersonas->cantidad() > 0) {

            //
            $this->mostrarPersonaAfectada($listaPersonas);
        }

        // Si no esta llena.
        else{

            print "<p align='center'>No se encontraron resultados</p>";
        }
    }

    function eliminarPersonaAfectada() {

    }

    //Funciones referentes al centro de apoyo.
    function crearCentroApoyo($Nombre, $Ubicacion, $coordenadas,$capacidad, $tipo,$desastre){

         $centro = new CentroApoyo($Nombre, $Ubicacion, $coordenadas, $capacidad, $ubicacion, $tipo, $desastre);
         $centro->Insertar();

    }

    //Consulta los centros de apoyo existentes
    function consultarCentroApoyo() {
         // Creamos el objeto lista
          $ListaCentros = new Lista();
	  $ListaCentro->consultarCentros();

          // Se muestran los resultados
          if($ListaCentros->cantidad() != 0){
                    //Mostrar Centros en Mapa

          }
          else {
                print "<p align='center'>No se encontraron resultados</p>";
          };


    }
    //Eliminar centros de apoyo que estan en el arreglo
    function eliminarCentroApoyo($id){

       

    }

}
?>
